.gcloudignore で全部 ignore して allowlist にしたい
code:.gcloudignore
# ignore all
*
# allowlist
!.
!package.json
!dist/**
!yarn.lock
単に /** を ignore すると package.json や yarn.lock がアップロードされなかった
code:old
/.?*
を入れるのがイディオムというのを見たけど単に /* でいい気がする
/.?* を除かないと dotfiles が入る??
確認する
$ gcloud meta list-files-for-upload
コマンドあった!!! しかし信用できない
gcloud meta list-files-for-upload では以下の出力だが
code:output
yarn.lock
package.json
lib/index.js
実際に Cloud Functions にアップロードされたファイルは lib/ 以下だけだったりする
. カレントディレクトリを追加する workaround がある
追加しても .git や node_modules/ はアップロードされないが yarn.lock や package.json は正しくアップロードされる、AppEngine と Cloud Functions で挙動が違うらしい、AppEngine では困ってなかった